//=============================================================================

#include "../../../../inc/aCategory.h"

//=============================================================================

aCategory::aCategory()
{
}

//=============================================================================

aCategory::aCategory(const aString& p, const aString& caption)
{
  acChawFolder(p, caption);
}

//=============================================================================

acyRet aCategory::acChawFolder(const aString& p, const aString& caption)
{
  if (p.asGetLength() <= 0)
    return CAT_BAD_PATH;

  if (caption.asGetLength() <= 0)
    return CAT_BAD_CAPTION;

  files.alRemoveItems();

  path = p.asFindBefore('*', 0);
  name = caption;  

  WIN32_FIND_DATA fnd;
  HANDLE found = FindFirstFile(p.asGetString(), &fnd);

  while(FindNextFile(found, &fnd))
  {
    if (!(fnd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))//not a directory
      files.alAddItem()->data = fnd.cFileName;
  }

  return CAT_DONE;
}

//=============================================================================

aString aCategory::acGetFullPath(const aString& file)
{
  if (file.asGetLength() <= 0)
    return "";

  aItem<aString>* tmpString = files.alGetFirstItem();

  while(tmpString)
  {
    if (tmpString->data == file)
      return (path + file);

    tmpString = tmpString->next;
  }

  return "";
}

//=============================================================================

aCategory::~aCategory()
{
}

//=============================================================================
